import unittest

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.service import Service


class MyTestCaseFireFox(unittest.TestCase):
    driver = None

    @classmethod
    def setUpClass(cls) -> None:
        # 注册 驱动打开的位置
        service = Service(executable_path="../../dirver_exe/geckodriver.exe")
        # 打开浏览器  driver 代表 浏览器对象
        cls.driver = webdriver.Firefox(service=service)

    def test_max_min_window(self):
        """设置或者获取窗口的大小"""
        self.driver.get("https://112.80.248.76:443/")

        # 获得 窗口（浏览器）的 大小( 宽 高 ) get_window_size
        print('网页的宽高为：', self.driver.get_window_size())
        # 获得网页 打开的一个起始坐标
        print('网页的起始坐标为：', self.driver.get_window_position())

        # 获得网页 的坐标 和 宽高
        print('获得网页 的坐标 和 宽高 ：', self.driver.get_window_rect())

        # 设置网页的 宽高为 500，500
        self.driver.set_window_size(500, 500)

        # 设置网页的 坐标为 150，205
        self.driver.set_window_position(150, 205)

        # 设置网页的 坐标为 150，205  宽高为  800，200
        self.driver.set_window_rect(150, 205, 800, 200)

        # 直接设置网页的  最大化
        self.driver.maximize_window()

        # 直接设置网页的  最大化 铺满整个屏幕
        self.driver.fullscreen_window()

        # 直接设置网页的  最小化
        self.driver.minimize_window()

    # @classmethod
    # def tearDownClass(cls) -> None:
    #     cls.driver.close()  # 只会关闭一个标签页
    #     # cls.driver.quit()  # 直接退出浏览器 并且关闭所有的标签页


if __name__ == '__main__':
    unittest.main()
